package com.jc.utils;

import java.util.regex.Pattern;

/**
 * 
 * @author jared
 * 
 * @Description: 数字处理工具类
 * 
 * @date Nov 5, 2014 6:17:16 PM
 * 
 */
public class NumberUtils {

	private static final Pattern PATTERN_NUMBER = Pattern.compile("^[0-9]+$");

	/**
	 * 对象转换为int类型
	 * 
	 * @param value
	 *            对象
	 * @return
	 */
	public static int parseIntQuietly(Object value) {
		return parseIntQuietly(value, 0);
	}

	/**
	 * 对象转换为int
	 * 
	 * @param value
	 *            对象
	 * @param def
	 *            默认值
	 * @return
	 */
	public static int parseIntQuietly(Object value, int def) {
		if (value != null) {
			if (value instanceof Number) {
				return ((Number) value).intValue();
			}
			try {
				return Integer.valueOf(value.toString());
			} catch (Throwable e) {
			}
		}

		return def;
	}

	/**
	 * 字符串小数转换成int
	 * 
	 * @param decimal
	 * @return
	 */
	public static int valueOf(String decimal) {
		int index = decimal.indexOf(".");
		if (index > 0) {
			decimal = decimal.substring(0, index);
		}
		return Integer.valueOf(decimal);
	}

	/**
	 * 判断字符串是不是全部由数字组成
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNumber(String str) {
		return PATTERN_NUMBER.matcher(str).find();
	}
}
